
package com.insigma.business.qrcode.soldier._provider;



import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.*;
import com.insigma.business.qrcode.soldier.entity.*;
import com.insigma.business.qrcode.soldier.request.*;

import java.util.List;
import java.util.Map;


public interface SoldierBasicInfoProvider {


    BaseResponse<HealthStatsDTO> statsHealth(final SoldierBasicInfoSearchRequest searchRequest);


    BasePagingResponse<List<SoldierBasicInfoDTO>> searchSoldierBasicInfo(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BaseResponse<SoldierBasicInfoDTO> getSoldierBasicInfoByCard(final String idCardNo);


    BaseResponse<SoldierBasicInfoDTO> getSoldierBasicInfoByCard(final String idCardNo, String name);


    BaseResponse<List<SoldierBasicInfoDTO>> listSoldierBasicInfoByCard(String condition, String adminAreaCode);


    BaseResponse<SoldierBasicInfoDTO> getSoldierBasicInfo(final BaseGetRequest baseGetRequest);


    BaseResponse<SoldierBasicInfoDTO> getSoldierBasicInfoBySoldierId(String soldierId);



    BaseResponse<SoldierBasicCheckInfoDTO> checkIsSoldier(String idCardNo);


    BaseResponse<SoldierBasicCheckInfoDTO> checkIsSoldierByMobile(String mobile);


    BaseResponse<String> insertSoldierBasicInfo(final SoldierBasicInfoInsertRequest soldierBasicInfoInsertRequest);


    BaseResponse<Integer> updateSoldierBasicInfo(final SoldierBasicInfoUpdateRequest soldierBasicInfoUpdateRequest);


    BaseResponse<Integer> deleteSoldierBasicInfo(final BaseDeleteRequest deleteRequest);


    BaseResponse<String> editBasicInfo(SoldierBasicEditRequest request);


    BaseResponse<Integer> updateBasicInfoOfYryd(SoldierBasicInfoUpdateRequest request);


    BasePagingResponse<List<SoldierBasicShortInfoDTO>> searchPreferentialTreatment(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BaseResponse<SoldierBasicShortInfoDTO> getSoldierShortInfo(final String idCardNo);


    BasePagingResponse<List<SoldierBasicShortInfoDTO>> searchAreaSoldierShortList(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BasePagingResponse<List<SoldierBasicShortInfoDTO>> searchAreaDifficultySoldierShortList(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BasePagingResponse<List<SoldierBasicShortInfoDTO>> searchAreaUnemploymentSoldierShortList(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BaseResponse<String> deleteDeadAndXyjsSoldiers(SimpleApiRequest request);


    BaseResponse<String> refreshAllBasicInfo(String idCardNo);


    BaseResponse<String> refreshAllTpExtraInfo(SoldierRefresherRequest request);



    BaseResponse<String> refreshExtraMaxCountInfo(SoldierRefresherRequest request);




    BaseResponse<String> updateSoldierExtraInfoByCardNo(final SoldierBasicInfoUpdateRequest request);


    BaseResponse<Map<String, SoldierBasicInfoDTO>> getSoldierId2ObjMapByIdList(final List<String> idList);




    BaseResponse<InsuredEntity> queryInsured(String idCardNo);


    BaseResponse<InsuredEntity> queryInsuredByConvert(String idCardNo, String realName);


    BaseResponse<InsuredEntity> queryCachedInsuredByConvert(String idCardNo, String realName);


    BaseResponse<List<InsuredInfoEntity>> queryInusreList(String idCardNo, String name);


    BaseResponse<List<EducationEntity>> queryEducationList(String idCardNo, String name);


    BaseResponse<SubsistenceEntity> querySubsistence(String idCardNo);


    BaseResponse<List<SubsistenceAllowanceEntity>> querySubsistenceAllowance(String idCardNo);


    BaseResponse<List<LowSideEntity>> queryLowSide(String idCardNo);


    BaseResponse<List<ExtremelyPoorEntity>> queryExtremelyPoor(String idCardNo);


    BaseResponse<List<UnemploymentRegistrationEntity>> queryUnemploymentRegistration(String idCardNo);


    BaseResponse<MedicalInsuranceConsumptionEntity> queryMedicalInsuranceConsume(String idCardNo, String name);



    BaseResponse<DisabledEntity> queryDisabledInfo(String idCardNo);


    BaseResponse<List<CarEntity>> queryCarList(String idCardNo);


    BaseResponse<List<ShareholderEntity>> queryShareholderList(String idCardNo);


    BaseResponse<List<EnterpriseInfoEntity>> queryEnterpriseList(String uniscId);


    BaseResponse<List<HouseEntity>> queryHouseList(String idCardNo, String name);


    BaseResponse<List<UntrustworthyEntity>> queryUntrustworthy(String idCardNo, String name);


    BaseResponse<List<CommunityCorrectionEntity>> queryCommunityCorrectionList(String idCardNo);


    BaseResponse<HouseholdRegistrationEntity> queryHouseholdRegistrationInfo(String idCardNo, String name);


    BaseResponse<List<FloatingPopulationEntity>> queryFloatingPopulationList(String idCardNo, String name);


    BaseResponse<List<SocialSecurityEntity>> querySocialSecurity(String idCardNo, String name);


    BaseResponse<InsuredEntity> querySocialSecurity2(String idCardNo, String name);


    BaseResponse<List<EffectiveJudgmentEntity>> queryEffectiveJudgmentList(String idCardNo, String name);


    BaseResponse<List<GovernmentPensionInsuranceEntity>> queryGovernmentPensionInsuranceList(String idCardNo, String name);


    BaseResponse<List<MaritalInfoEntity>> queryMaritalInfo(String idCardNo, String name, String sex);


    BaseResponse<List<ProvidentFundEntity>> queryProvidentFund(String idCardNo, String name);



    BaseResponse<List<HuKouEntity>> queryHuKouInfo(String idCardNo);


    BaseResponse<List<HuKouEntity>> queryHuKouBen(String idCardNo);


    BaseResponse<List<EnterpriseInfoEntity>> queryEnterpriseListByName(String name);


    BaseResponse<List<EnterpriseCreditRatingEntity>> queryEnterpriseCreditRating(String name);


    BaseResponse<List<ShareholderEntity>> isMilitaryEnterprise(String uniscid);


    BaseResponse<List<SoldierEmploymentTimeLine>> queryEmploymentLine(String idCardNo);



    @Deprecated
    BaseResponse<String> testRefreshBaicInfoToDB();


    @Deprecated
    BaseResponse<String> importNewSoldierInfo();


    BaseResponse<String> insertAllSoldier(SimpleApiRequest request);


    BaseResponse<String> setSoldierDead(SimpleApiRequest request);


    BaseResponse<Integer> addLabels(SoldierBasicInfoUpdateRequest request);


    BaseResponse<Integer> fixBirthday(SoldierBasicInfoUpdateRequest request);


    BaseResponse<Integer> fixResidentAdminAreaCode(SoldierBasicInfoUpdateRequest request);




    BaseResponse<Integer> importSyfInfoToBasicDb(SimpleApiRequest request);


    BaseResponse<Integer> encAllTable(SimpleApiRequest request);




    BaseResponse<ExcelResultBO> queryAreaQrDetailExcel(SimpleApiRequest request);




    BasePagingResponse<List<SoldierBasicInfoDTO>> superSearchSoldierBasicInfo(final SoldierBasicInfoSearchRequest searchRequest);


    BaseResponse<String> superExportSoldierBasicInfo(final SoldierBasicInfoSearchRequest searchRequest);


    BaseResponse<ExcelResultBO> queryExportInfo(final CommonTmpInfoSearchRequest searchRequest);


    BaseResponse<SoldierTokenDTO> obtainJxAuth(final SoldierTokenRequest request);


    BaseResponse<List<String>> listAllIdCardNo();


    BaseResponse<String> checkStudent();



    BasePagingResponse<List<SoldierBasicOpenInfoDTO>> searchOpenBasicInfo(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BasePagingResponse<List<SoldierBasicOpenInfoDTO>> searchOpenBasicInfo2(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BasePagingResponse<List<SoldierBasicOpenInfoDTO>> searchElderlySoldier(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);

    BaseResponse<JdlkInfoResponseDto> downLoad(final SoldierBasicInfoSearchRequest soldierBasicInfoSearchRequest);


    BaseResponse<SoldierBasicInfoDTO> getSoldierBasicInfoByCard_basicDb(String idCardNo);

    BaseResponse<Boolean> updateSoldierBasicInformation(SoldierBasicInformationUpdateRequest request);
}
